// pages/login/login.js
import axios from '../../utils/axios'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone: "18397871804",
    password: 'wyy12345.'
  },
  Input(event) {

    if (event.target.id == 'phone') {
      this.setData({
        phone: event.detail.value
      })
    } else {
      this.setData({
        password: event.detail.value
      })
    }

  },

  //  登陆
  showToast({
    title,
    icon = 'error'
  }) {
    wx.showToast({
      title,
      icon
    })
  },
  async Login() {

    const {
      phone,
      password
    } = this.data
    if (!phone.trim() || !password.trim()) {
      this.showToast({
        title: '请输入账号或密码'
      })
      return
    }
    const res = await axios('/login/cellphone', {
      phone: this.data.phone,
      password: this.data.password,
      _isLogin:true
    })
    const code = res.code
    //#region 
    // switch (code) {
    //   case 200: {
    //     this.showToast({
    //       title: '登陆成功',
    //       icon:'success'
    //     })
    //     wx.setStorage({key:'userId',data:res.profile.userId})
    //   this.timer= setTimeout(()=>{
    //       wx.switchTab({
    //         url: '/pages/personal/personal',
    //       })
    //     },500)
    //     break;
    //   }
    //   case 400: {
    //     this.showToast({
    //       title: '账号不正确'
    //     })
    //     break;
    //   }
    //   case 502: {
    //     this.showToast({
    //       title: '密码错误',
    //     })
    //     break;
    //   }
    //   case 501: {
    //     this.showToast({
    //       title: '账号不存在',
    //     })
    //     break;
    //   }
    //   case 509: {
    //     this.showToast({
    //       title: '密码错误超过限制',
    //     })
    //     break;
    //   }
    //   default: break
    // }
    //#endregion

    // 以上switch语句改写成策略模式的写法
    const codeFn = {
      200: () => {
        this.showToast({
          title: '登陆成功',
          icon: 'success'
        })
        wx.setStorage({
          key: 'userId',
          data: res.profile.userId
        })
        this.timer = setTimeout(() => {
          wx.switchTab({
            url: '/pages/personal/personal',
          })
        }, 500)
      },
      400: () => {
        this.showToast({
          title: '账号不正确'
        })
      },
      502: () => {
        this.showToast({
          title: '密码错误',
        })
      },
      501: () => {
        this.showToast({
          title: '账号不存在',
        })
      },
      509:() => {
        this.showToast({
          title: '密码错误超过限制',
        })
      }
    }
    codeFn[code] && codeFn[code]()
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    clearTimeout(this.timer)
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})